﻿#ifndef INVALIDSEARCH_H
#define INVALIDSEARCH_H

#include "virtualsearch.h"

class InvalidSearch : public VirtualSearch
{//搜索程序示例
public:
    int isFinished=0;
    InvalidSearch(Map*map0);

    //设置地图
    void setMap(Map*map0)override;
    //设置欧氏距离、曼哈顿距离和切比雪夫距离
    void setDistance(int distance0)override;
//slots:
        //单步搜索
        void step()override;
        //连续搜索
        void Continuous()override;
        //终止搜索
        void stop()override;

/*
signals:
    //单步搜索完成(成功1/失败0)
    void completed(bool);
    //全部搜索完成(成功1/失败0)
    void finished(bool);
    //输出搜索结果(要显示的节点的坐标，前驱节点坐标（不存在则为{-1，-1}），状态（OPEN、SEAL），信息（G、H、F的值）)
    void output(Point coordinate,Point pre,int flag,QString);
    //输出搜索到的路径
    void result(QVector<Point>);
    //其它输出请自行添加
*/
private:
    int stepCount;
    Point currentPoint;
};

#endif // INVALIDSEARCH_H
